package cn.tedu.day01;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.client.RestTemplate;

import java.util.Map;

@RestController
@RequestMapping("/consumer/template/")
public class RestConsumerController {
    @Autowired
    private RestTemplate loadBalancedRestTemplate;

    @DeleteMapping("{id}")
    public String deleteById(@PathVariable Integer id) {
        String url = "http://localhost:8082/provider/template/" + id;
        System.out.println("consumer utl" + url);
        //通过服务提供方法执行操作
        loadBalancedRestTemplate.delete(url);
        return "delete Ok";
    }

    /**
     * Post请求用于执行添加操作，当使用requestBody注解描述参数时，表示
     * 这个参数的值来自一个json格式的字符串，对于一个方法而言，只能有一个
     * 参数使用@RequestBody注解
     */
    @PostMapping
    public Map<String, Object> doPost(@RequestBody Map<String, Object> map) {
        String url = "http://localhost:8082/provider/template/";
        return loadBalancedRestTemplate.postForObject(url, map, Map.class);
    }
}
